/**
 * 订单工具函数
 */

/**
 * 生成订单号
 * @param {string} prefix 前缀，例如：DD(订单)，YY(预约)，CZ(充值)，CP(优惠券)
 * @returns {string} 生成的订单号
 */
const generateOrderNumber = (prefix = 'DD') => {
  // 日期部分：年月日
  const now = new Date();
  const year = now.getFullYear().toString().slice(2); // 年，取后两位
  const month = (now.getMonth() + 1).toString().padStart(2, '0'); // 月，补零
  const day = now.getDate().toString().padStart(2, '0'); // 日，补零
  
  // 时间部分：时分秒
  const hour = now.getHours().toString().padStart(2, '0');
  const minute = now.getMinutes().toString().padStart(2, '0');
  const second = now.getSeconds().toString().padStart(2, '0');
  
  // 随机部分：3位随机数
  const random = Math.floor(Math.random() * 1000).toString().padStart(3, '0');
  
  // 组合订单号：前缀 + 年月日 + 时分秒 + 随机数
  return `${prefix}${year}${month}${day}${hour}${minute}${second}${random}`;
};

module.exports = {
  generateOrderNumber
}; 